cmake_minimum_required(VERSION 3.23)
project(C_Data_Structure)

set(CMAKE_CXX_STANDARD 14)

include_directories("Linear Structure/linear_list")

add_executable(C_Data_Structure
        "Linear Structure/linear_list/cl_list.cpp"
        "Linear Structure/linear_list/dl_list.cpp"
        "Linear Structure/linear_list/dl_list.h"
        "Linear Structure/linear_list/sl_list.cpp"
        "Linear Structure/linear_list/sl_list.h"
        "Linear Structure/linear_list/sq_list.cpp"
        "Linear Structure/linear_list/sq_list.h")

add_executable(sql_list "Linear Structure/linear_list/sq_list.cpp")
add_executable(sl_list "Linear Structure/linear_list/sl_list.cpp")
add_executable(cl_list "Linear Structure/linear_list/cl_list.cpp")
add_executable(sq_queue "Linear Structure/queue/sq_queue.cpp")
add_executable(sql_queue "Linear Structure/queue/sql_queue.cpp")
add_executable(c_queue "Linear Structure/queue/c_queue.cpp")
add_executable(cl_queue "Linear Structure/queue/cl_queue.cpp")
add_executable(sq_stack "Linear Structure/stack/sq_stack.cpp")
add_executable(sh_stack "Linear Structure/stack/sh_stack.cpp")
add_executable(sql_stack "Linear Structure/stack/sql_stack.cpp")
add_executable(de_queue "Linear Structure/queue/de_queue.cpp")

add_executable(b_tree "Non-linear Structure/tree/b_tree.cpp" "Non-linear Structure/tree/dj_set.h")
add_executable(hfm_tree "Non-linear Structure/tree/hfm_tree.cpp")
add_executable(tb_tree "Non-linear Structure/tree/tb_tree.cpp")
add_executable(dj_set "Non-linear Structure/tree/dj_set.cpp")